package com.ruoyi.cms.mapper;

import com.ruoyi.cms.domain.AlbumMaterial;
import com.ruoyi.cms.domain.Material;

import java.util.List;

/**
 * 素材Mapper接口
 *
 * @author wujiyue
 * @date 2019-11-05
 */
public interface MaterialMapper {
    /**
     * 查询素材
     *
     * @param materialId 素材ID
     * @return 素材
     */
    public Material selectMaterialById(String materialId);

    /**
     * 查询素材列表
     *
     * @param material 素材
     * @return 素材集合
     */
    public List<Material> selectMaterialList(Material material);

    /**
     * 新增素材
     *
     * @param material 素材
     * @return 结果
     */
    public int insertMaterial(Material material);

    /**
     * 修改素材
     *
     * @param material 素材
     * @return 结果
     */
    public int updateMaterial(Material material);

    /**
     * 删除素材
     *
     * @param materialId 素材ID
     * @return 结果
     */
    public int deleteMaterialById(String materialId);

    /**
     * 批量删除素材
     *
     * @param materialIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteMaterialByIds(String[] materialIds);

    /**
     * 批量审核素材
     *
     * @param materialIds 需要审核的数据ID
     * @return 结果
     */
    public int auditMaterialByIds(String[] materialIds);

    /**
     * 根据ids查询素材
     *
     * @param materialIds 需要查询数据ID
     * @return 结果
     */
    public List<Material> selectMaterialByIds(String[] materialIds);

    /**
     * 查询专辑关联的素材
     *
     * @param material
     * @return
     */
    public List<AlbumMaterial> selectAlbumMaterialList(Material material);

    /**
     * 排除ids查询素材（查询专辑未关联的素材）
     *
     * @param material
     * @return 结果
     */
    public List<Material> selectAlbumUnMaterialList(Material material);

    /**
     * 根据素材ids查询素材是否在使用（cms_material）
     *
     * @param materialIds
     * @return
     */
    public int selectCountUse(String[] materialIds);

}
